1. Field of the Invention
This invention relates generally to communication systems, and in particular to a method, apparatus and program for determining available bandwidth in a communication path coupled between nodes in a communication system.
2. Related Art
Internet connection service providers typically promise customers that they will be provided with specific bandwidth rates for particular types of service connections (e.g., ADSL, xDSL, ISDN, etc.). Despite these promises, however, at any given time, actual bandwidth rates may differ substantially from promised bandwidth rates, owing to, for example, the presence of severe traffic congestion in communication system components and system component capacity limitations. As a result, connection service providers often receive many complaints from customers concerning long download delays, problems encountered during Packet Internet Groper (PING) operations, and other complaints relating to bandwidth reductions in general.
To respond to these problems, connection service providers often employ known test procedures for isolating problem system components. Unfortunately, most known test procedures are unsatisfactory in that they test only components interposed between customer premise and central office switching equipment, but do not test upstream system components. An example of one such test procedure is the Fujitsu Speed Port Shelf Manager, which enables troubleshooters to conduct bit error rate (BER) tests, noise margin estimates, errored seconds (ER) and severe errored seconds (SER) estimates, and attenuation estimates.
At least some connection service providers respond to customer complaints concerning low bandwidth rates by terminating existing virtual circuits connecting customer premise equipment to backbone cloud (network) equipment, such as a network (e.g., Frame Relay) switch, and by then “rebuilding” other virtual circuits to couple the customer premise equipment to a test server through another switch in the network. This step is necessary because, during normal, non-testing conditions, the test server and customer premise equipment are typically connected to different switches, and thus are not communicatively coupled together. A file having a predetermined size is then downloaded from the test server to the customer premise equipment by way of the rebuilt virtual circuit. The customer premise equipment then measures (using a program) the period of time taken for the file to be received therein, by, for example, detecting receipt times of beginning and ending portions (e.g., Start-of-File and End-of-File, respectively) of the file, and by then calculating the difference between those receipt times. The customer premise equipment also determines the size of the downloaded file by counting each byte included in the file, as it is received in the customer premise equipment, and by then multiplying the total number of counted bytes by ‘8’ to determine the total number of bits included in the file. Thereafter, an estimate is made of the file download rate (i.e., the downlink bandwidth rate), based on the measured download time period and the determined file size.
Unfortunately, however, the foregoing prior art test procedure has a number of drawbacks. One drawback is that the “rebuilt” virtual circuit is not necessarily the same original virtual circuit used during normal, non-testing conditions, and thus the bandwidth rate determined during the test may be an inaccurate estimation of the typical bandwidth provided to the customer premise equipment. Also, the test procedure does not provide any indication of the uplink bandwidth rate and the system components which may be causing the bandwidth reduction problem. Moreover, the test procedure requires intensive operator intervention for rebuilding the virtual circuit, rendering the procedure susceptible to human-induced errors. Furthermore, owing to possible manpower limitations and associated costs, it might not be feasible to perform such a procedure on a large scale, especially where the customer base being supported is a large one.
At least one known bandwidth estimation technique enables customers to conduct a download bandwidth test using off-the-shelf software (see, for example, the “Bandwidth Speed Test” provided at http://www.computingcentral.com/topics/bandwidth/speed test500.asp). This technique apparently is performed using a large Hyper Text Markup Language (HTML) page, wherein a Javascript code in the page determines starting and ending times of a transfer of a portion of the page, for use in determining the download bandwidth. Unfortunately, because browser software is employed to determine the starting and ending times of the page transfer, the technique is subject to browser idiosyncrasies which can reduce the accuracy of the downlink bandwidth determination (different browser software may provide different bandwidth estimates). The technique also requires the use of customer premise equipment software which can understand the HyperText Transfer Protocol (HTTP). This can further reduce the accuracy of the bandwidth determination, especially in cases where the customer premise equipment software gives low priority to processing HTTP-related requests. Moreover, the technique does not provide any estimate of the uplink bandwidth.
There is a need, therefore, for an improved technique which reliably determines an amount of bandwidth available in a communication path coupling together nodes in a communication system, and does not suffer from the drawbacks discussed above.